<docs>
  ## 编辑教育经历
</docs>
<template>
  <div class="wrap">
    <my-bread :title=labelName></my-bread>
    <co-form :model="zyjn" :rules="rules" ref="form">
      <div v-if="zyjn.yyjnlx == '40'">
        <data-picker2 prop="rxsj" label="入学时间" v-model="zyjn.rxsj"></data-picker2>
        <data-picker2 prop="bysj" label="毕业时间" v-model="zyjn.bysj"></data-picker2>
        <co-input prop="byyx" label="毕业院校" v-model="zyjn.byyx" placeholder="请输入毕业院校"></co-input>
        <co-select prop="whcd" label="所属学历" v-model="zyjn.whcd"
        :list="codeTable.zyjsww_d_whcd"></co-select>
        <co-level-picker
          prop="sxzy"
          label="所学专业"
          v-model="zyjn.sxzy"
          v-if="sxzy"
          :name="zyjn.sxzy_xs"
          :table-name="unTableName"
        ></co-level-picker>
        <co-input prop="xxjlbz" label="备注" v-model="zyjn.xxjlbz" placeholder="请输入备注"></co-input>
      </div>
      <div v-if="zyjn.yyjnlx == '20'">
        <!-- <co-select
          prop="yyjnbm"
          label="拥有技能"
          v-model="zyjn.yyjnbm"
          :list="codeTable.zyjs_d_yyjn_zy"
        ></co-select> -->
        <co-select prop="jsdj" label="技术等级" v-model="zyjn.jsdj" :list="codeTable.zyjs_d_yyjn_jsdj"></co-select>
        <!-- <co-input prop="csnx" label="从事年限" max-length="2" v-model="zyjn.csnx" placeholder="请输入从事年限"></co-input> -->
      </div>
      <div v-if="zyjn.yyjnlx == '10'">
        <co-select
          prop="yyjnbm"
          label="具有外语"
          v-model="zyjn.yyjnbm"
          :list="codeTable.zyjs_d_yyjn_wy"
        ></co-select>
        <!-- <co-select prop="slcd" label="熟练程度" v-model="zyjn.slcd" :list="codeTable.zyjs_d_yyjn_slcd"></co-select> -->
        <co-input prop="xgsm" label="其他外语" v-model="zyjn.xgsm" placeholder="请输入其他外语"></co-input>
      </div>
    </co-form>
    <div class="btn-wrap">
      <button class="weui-btn weui-btn_primary" @click.prevent="save" type="button">保存</button>
      <button class="weui-btn weui-btn_default" @click="backBase" type="button">返回</button>
    </div>
  </div>
</template>
<script>
import $ from "@/common/js/axios";
import coForm from "base/form/form";
import coInput from "base/form/input";
import coSelect from "base/form/select";
import { validator } from "common/js/valid";
import coLevelPicker from "base/form/levelPicker";
import dataPicker2 from "base/form/dataPicker3";

export default {
  name: "editSchool",
  components: { coForm, coInput, coSelect, coLevelPicker, dataPicker2 },
  data() {
    return {
      sxzy_chang:"",
      labelName:"",
      unTableName: "", //不确定的代码表，不同学历查不同表
      sxzy: false,
      zyjn: {
        grjnid: "", // 个人技能id
        grqzid: "", // 个人求职id
        xxjlid: "", //学习经历id
        yyjnlx: "", // 拥有技能类型
        jsdj: "", // 技术等级
        yyjnbm: "", // 拥有技能编码
        csnx: "", // 从事年限
        rxsj: "", // 入学时间
        bysj: "", // 毕业时间
        byyx: "", // 毕业院校
        sxzy: "",
        whcd: "",
        hjdxzqh_xs: "", //所学专业显示
        xxjlbz: "", // 备注
        slcd: "", // 熟练程度
        xgsm: "", // 相关说明
        ywcz: "", // （1：新增，2：修改，0：删除）
        jlid: "" // 删除简历中的职业技能时必选
      },
      codeTable: {
        zyjsww_d_whcd:[],
        zyjs_d_yyjnlx: [], // 拥有技能类型 职业(zyjs_d_yyjn_zy)
        zyjs_d_yyjn_zy: [], // 拥有技能编码
        zyjs_d_yyjn_jsdj: [], // 技术等级
        zyjs_d_yyjn_wy: [], // 拥有技能类型 语言(zyjs_d_yyjn_wy)
        zyjs_d_yyjn_slcd: [] // 熟练程度
      },
      rules: {},
      whcd: ""
    };
  },
  watch: {
    "zyjn.yyjnlx": function(val) {
      if (val == "10") {
        this.labelName = "语言能力";
        this.rules = {
          yyjnbm: validator('9,"full","具有外语",false'), // 拥有技能编码
          slcd: validator('32,full,"熟练程度",false'), // 熟练程度
          xgsm: validator('255,"full","其他外语",true'), // 其他外语
        };
      }
      if (val == "20") {
        this.labelName = "职业技能";
        this.rules = {
          yyjnbm: validator('9,"full","拥有技能",false'), // 拥有技能编码
          jsdj: validator('32,"full","技术等级",false'), // 技术等级
          csnx: validator('3,"number","从事年限",false') // 从事年限
        };
      }
      if (val == "40") {
        this.labelName = "教育经历";
        this.rules = {
          rxsj: validator('11,"full","入学时间",false'),
          bysj: validator('48,full,"毕业时间",false'),
          byyx: validator('64,"full","毕业院校",false'),
          whcd: validator('2,"full","所属学历",false'), // 文化程度
          sxzy: validator('168,"full","所学专业",true'),
          xxjlbz: validator('32,"full","备注",true')
        };
      }
    },
    "zyjn.whcd": function(val){
      this.$nextTick(_=>{
        if(this.sxzy_chang != val){
          this.zyjn.sxzy_xs = "";
          this.zyjn.sxzy = "";
        }
      })
      this.sxzy = true;
      if (val <= "17") {
        //研究生
        this.unTableName = "zyjs_d_yjs";
      } else if (val == "20") {
        this.unTableName = "zyjs_d_bk";
      } else if (val == "30") {
        this.unTableName = "zyjs_d_zk";
      } else if (val == "40") {
        this.unTableName = "zyjs_d_zz";
      }else {
        this.zyjn.sxzy="";
        this.sxzy = false;
      }
    }
  },
  methods: {
    save() {
      this.$refs.form.validate(() => {
        this.POST_save();
      });
    } /* 获取代码表 */,
    GET_codeTable() {
      const arrTableName = Object.keys(this.codeTable);
      this.$http
        .get("/dmbgl/dmblbCx", {
          params: {
            table_name: arrTableName.join()
          }
        })
        .then(res => {
          this.getCodeTabled = true;
          const data = res.returnData.dmblb;
          arrTableName.forEach(item => {
            this.codeTable[item] = data[item];
          });
        });
    },
    /* 保存学习信息修改 */
    POST_save() {
      if(this.zyjn.yyjnlx == '10'&&this.zyjn.yyjnbm == '90' && this.zyjn.xgsm == ''){
        this.$refs.form.errorMsg = '其他外语不能为空！';
        return
      }
      if(this.zyjn.yyjnlx == '40'&&this.zyjn.whcd<=40&&this.zyjn.sxzy==''){
        this.$refs.form.errorMsg = '所学专业不能为空！';
        return
      }
      this.$confirm("确定保存？", "提示")
        .then(() => {
          this.$loading = true;
          // 教育
          if (this.zyjn.yyjnlx == "40") {
            this.$http
              .post("/grgl/xxjlBc", this.zyjn)
              .then(res => {
                const resData = res.returnData;
                this.$alert(resData.message, () => {
                  const code = +resData.executeResult;
                  if (code) {
                    this.$router.push({ name: "UserResumeschoolExper" });
                    // this.$router.push({ name: "userResume" });
                  }
                });
              })
              .finally(() => {
                this.$loading = false;
              });
          } else {
            // 技能 语音
            this.$http
              .post("/grgl/zyjnBc", this.zyjn)
              .then(res => {
                const resData = res.returnData;
                this.$alert(resData.message, () => {
                  const code = +resData.executeResult;
                  if (code) {
                    this.$router.push({ name: "UserResumeschoolExper" });
                  }
                });
              })
              .finally(() => {
                this.$loading = false;
              });
          }
        })
        .catch(() => {
          this.$toast("选择了取消");
        });
    },
    /* 返回基础信息 */
    backBase() {
      this.$router.go(-1);
    },
    /* 异步获取内容 */
    GET_content() {
      this.$loading = true;
      return this.$http.get("/grgl/grxqCx").finally(() => {
        this.$loading = false;
      });
    }
  },
  created() {
    // 获取代码表
    this.getCodeTabled = false;
    this.GET_codeTable();
    // 赋值
    var zyjn = this.$route.query;
    if (zyjn.ywcz != 1) {
      Object.keys(this.zyjn).forEach(item => {
        this.zyjn[item] = zyjn[item];
      });
      // if(this.zyjn.whcd&&this.zyjn.whcd>40){
      //   this.sxzy = true;
      // }
    } else {
      this.zyjn.ywcz = zyjn.ywcz;
      this.zyjn.grqzid = zyjn.grqzid;
      this.zyjn.yyjnlx = zyjn.yyjnlx;
    }
    // 赋值级联选择
    this.zyjn.sxzy_xs = zyjn.sxzy_xs;
    this.sxzy_chang = zyjn.whcd;
  }
};
</script>
<style scoped lang="scss">
@import "~common/scss/var.scss";
.wrap {
  .btn-wrap {
    display: flex;
    .weui-btn {
      margin: $margin-base auto;
      flex: 0 1 47%;
    }
  }
}
</style>
